1. Technical Field
The invention is related to discovery among network-connected devices, and more particularly to a system and process for a discovering electronic device to discover the presence and network address of a discoverable electronic device connected to the same network and located in the same delimited space, without employing the network.
2. Background Art
Communication between electronic devices connected via a local network is a common requirement in a variety of applications, such as found in ubiquitous computing environments and some teleconferencing systems. For example, ubiquitous computing revolves around extending computational activities beyond the current desktop model and into the environment. In future homes and offices, access to computing should be as natural as access to lighting. Users should not be required to go to a special place (i.e., the desktop) to interact with the computer. Rather, the computer should be available to interface with the user anywhere in the home or office (or more generally anywhere in an arbitrarily large environment), through whatever set of devices is available, be they fixed or carried by the user. In order to affect this ubiquitous computing environment the various endpoint components and computing devices (hereinafter referred to collectively as devices) need to communicate with each other. One typical way this is accomplished is via communication over a conventional local computer network. This can be done either using wired or wireless connection schemes.
In the context of teleconferencing, meetings are an important part of everyday life for many workgroups. A variety of live teleconferencing systems are available commercially to enhance and archive these meetings. Both recorded meetings and live video conferences require audio-visual capturing equipment. One such system generally referred to as a Distributed Meeting (DM) system provides high quality multi-party conferencing and recording of meetings, as well as rich browsing of archived meetings enhanced through a number of analysis techniques. DM systems typically have multiple cameras that simultaneously capture different sub-events occurring in a space where an event occurs, such as a meeting room, to give a rich experience to local and remote meeting participants. These capture devices are all synchronized to provide an integrated, scalable system and method for two-way conferencing, broadcasting, recording and viewing meetings or other events. In particular, a DM system's cameras can include a 360-degree camera centrally positioned to monitor in 360 degrees the space in which the event occurs; a remote view camera positioned so as to capture a view of event participants in the meeting room; a presenter view camera positioned so as to capture a view of the front of the meeting room where a presenter is typically presenting; and a whiteboard capture camera positioned so as to capture strokes written on a whiteboard. A DM system also typically has one or more microphone devices or microphone arrays that simultaneously capture audio data that is synchronized with the image data recorded by the various cameras. A given microphone device or array can be used to determine the direction from which an event participant is speaking by using sound source localization. The 360 degree camera, presenter view camera and remote view camera all can have microphone arrays associated with them. A DM system can also include a projector for projecting meeting or other materials onto a screen and a graphics capture device is used to capture graphics data used in the meeting, such as electronic slides that are part of an electronic presentation. A monitor or television may also be included to display one or more remote participants or other meeting/event materials. Further, a DM system also can have a kiosk that is used to control broadcast, recording and playback of the meeting or other event. In addition, at least one server or other suitably configured computer that is capable of storing and distributing the captured data to one or more clients in network connection with the server can be included.
For live meetings using a DM system, the system broadcasts the multimedia meeting streams to participants, who use a network for low-latency duplex voice and data communication. The meetings can also be recorded and viewed on-demand. These viewing and archiving features can be useful not only to remote users who are not at the site of the meeting, but also to participants who do attend the meeting. To facilitate the viewing and archiving of a live meeting by local participants, the participant will typically employ a portable computing device, such as a notebook/laptop computer or even a handheld computing device. For example, a local meeting participant may want to use their notebook computer to record portions of the meeting, such as the audio and/or what is written on a whiteboard. To accomplish this task, the network addresses for the endpoint component associated with the microphone array used to capture the audio portion of the meeting, and the whiteboard camera (or other conventional whiteboard capture device), must be known to or discovered by the notebook computer.
Thus, in a DM scenario there are many different devices that must communicate with each other. One effective way of accomplishing this task is to connect all the devices to a conventional local computer network. Here again, this can be done either using wired or wireless connection schemes.
However, in the foregoing scenarios the various devices may be new to the environment (e.g., a participant's notebook computer) or a fixed device may be activated and brought on-line to the network after having been deactivated for a period of time (e.g., the various cameras employed in a DM system). As a result, the various components and computing devices will not know of each others existence. Accordingly, a key to establishing communications between devices over a network is for the devices to discover each other. Once a connection is established, a device can control or be controlled by other devices, send or receive event signals, and transfer data between applications.
Universal Plug and Play (UPnP) is a standard framework that enables discovery between components and devices connected to a network, and is the typical method for establishing communications. In general, this framework typically requires a device to multicast its address over the network. Other components or devices seeking communication with the multicasting device would then use the address to establish communications. However, this method of discovery presents serious security issues. For example, it allows any device connected to the network to find and communicate with any other device on the network regardless of their relative locations. This can be a problem in the context of a distributed meeting because it is often desired to restrict control of the conference room endpoint components to participants actually in the conference room. For example, it may be desired by the attending participants to control what portions of a meeting are recorded via the endpoint components. If persons outside the conference room can readily access and remotely control these endpoint components then the desired control cannot be exercised. Further, unless potentially elaborate security measures are taken, unauthorized access to a device is a possibility using the standard UPnP discovery methods. As a result of these concerns, among others, businesses having local networks often disable the multicast feature. Thus, there is no way for devices to discover each other and so the advantages of UPnP cannot be realized.
Thus, there is a need for alternate discovery techniques that establish communications between endpoint components and computing devices over a network in a manner that localizes the communications links to a prescribed space, such as a conference room. In addition, there is a need for alternate discovery techniques that can be combined with UPnP to allow UPnP to work even in environments with the multicast capability disabled.